home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus 2004 #11
/
Amiga Plus CD - 2004 - No. 11.iso
/
AmiSoft
/
Misc
/
emu
/
fbzx.lha
/
fbzx
/
README
< prev
next >
Wrap
Text File
|
2004-01-06
|
8KB
|
193 lines
FBZX
A ZX Spectrum emulator for FrameBuffer
DISCLAIMER
FBZX is distributed under the GPL license, version two or later, which means
that is distributed "as is", without warraty of any kind. To know more details,
read the file COPYING.
This doesn't apply completely to the Z80 core, which is copyrighted by
Marat Fayzullin. For details about distribution of this part, please, visit
Marat's homepage (http://fms.komkon.org/EMUL8). The terms for the Z80 code
(copied and pasted from Marat's homepage) are:
* You can use this software for any non-profit purposes, as long as you
make a proper reference to me (Marat) in the documentation, or the program
itself.
* You can't use any of this software to gain profit. This includes selling
it, using it for commercial projects, putting it onto CDROMs, etc. If you
want to use my (Marat's) code for a commercial project, please, contact
me (Marat) to negotiate the terms.
* You can't distribute this software yourself, by putting it onto your own
WWW or FTP sites, even if they are non-profit. It is ok to have it as a
part of another project though, such as an emulator or utility program.
* If you use any of my (Marat's) code for your own project, please, let me
(Marat) know about it: it is always nice to know that your work is needed.
WHAT IS FBZX?
FBZX is a Sinclair ZX Spectrum emulator, designed to work in FrameBuffer under
Linux. It uses the SDL library, so it should be easily ported to other
architectures. Please, read the file PORTS to know more details about this.
FBZX is based in the great Z80 emulator created by Marat Fayzullin
(http://fms.komkon.org), but with some little modifications. Is possible that
theses modifications will be added in new versions of this emulator, but to
avoid problems, I strongly recomend to use only the files supplied in FBZX.
To work with FBZX you need:
-A FrameBuffer-capable graphic card (or compatible with X-windows)
-A Linux system with FrameBuffer configured (can use X too)
-Sound Card (optional)
In order to get the maximum performance, your FrameBuffer driver must allow to
change to 640x480 resolution in 8 bits. Only the VESAFB driver can have
problems with this fact, so if you use this driver, be sure to boot your Linux
box in 640x480 in 8 bits. If you don't do this, SDL will emulate that mode,
resulting in a high performance penalty. Another solution iis to use the
SuperVESAfb driver (see the FAQ). If you use an specific Framebuffer driver,
(or SuperVESAfb) just don't worry: FBZX will automagically change the graphic
mode when starts.
WHAT CAPABILITIES HAVE FBZX?
FBZX can emulate the original 48K spectrum (issue 2 and issue 3), the original
128K, the Amstrad +2 and the Amstrad +2A.
The screen and the sound are emulated in a very acuracy way, so nearly all
the sound and screen effects should work in this emulator.
128K sound is emulated too, and can be disabled in 128K mode in order to save
CPU time procesing, if your computer is slow.
It emulates the Interface I and one microdrive unit, allowing to load from and
save to MDR files.
FBZX can handle Z80 snapshots (both load and save). In a future, more snapshot
formats will be supported.
FBZX can handle TAP files (load and save), and have a fast-load mode that allows
to load in milliseconds a TAP file. This fast-load mode is enabled by default, but
can be disabled.
FBZX can also handle TZX files (see README.TZX for details).
FBZX can emulate the Kempston, Cursor, Sinclair 1 and Sinclair 2 joysticks,
with the cursor keys. Fire is emulated with the right ALT key, ALT-GR key,
WINDOWS MENU key or WINDOWS SYSTEM right key.
HOW DO I USE FBZX?
To run FBZX just type
fbzx
from a console.
You can run it without sound too, just typing:
fbzx nosound
You can use this if you don't have a sound card, or it hasn't OSS support.
FBZX should work in X too, but it would run slower due to the penalty of the X
Window System. So preferently run always FBZX from a console (unless you have
a decent PC, of course. My AMD Duron 1'3GHz needs a very little more speed
to make FBZX work fine in Xwindows, but in FrameBuffer works fine).
The PC keyboard works exactly like the Spectrum keyboard (but only numbers and
letters). ENTER key is Return, CAPS SHIFT is in both Shift keys, and SYMBOL
SHIFT is in both Control keys. I hope to add 'extended keys' in a near future.
Whit ESC you exit FBZX.
F1 shows a help page with all the available keys.
F2 sends you to a menu where you can load and save snapshots.
F3 sends you to a menu where you can choose a TAP/TZX file, rewind it,
choose if you want normal speed or fast speed for loading, enable or
disable the write protection, and create a new (and empty) TAP file.
F4 send you to a menu where you can choose the emulation type you want (48K,
128K, +2 or +2A), the joystick, enable or disable the AY emulation and enable
or disable the Interface I.
F5 stops the tape when normal speed is selected. With fast speed, it does
nothing.
F6 plays the tape when normal speed is selected. With fast speed, it does
nothing.
F7 allows to choose a MDR file (microdrive), protect and unprotect it,
and create a new (and empty) one.
F10 resets the spectrum.
F11 is volume down.
F12 is volume up.
HOW DO I CHOOSE A FILE WITH THE TAP/TZX OR Z80 SELECTOR?
You can choose a file just by moving the white bar with the cursor keys. You
can use also the RePag and AvPag to jump over 12 positions.
The files are in white ink, the directories in green ink, and the upper
directory are the two red dots.
When you choose a TAP file, it is marked as "save protected", so if you want
to save programs, you must enable it. If you create a new TAP file, it is
marked as "save enabled", so you can start to save directly.
The SAVE option works only with the classic ROM routine, so you will be able
to save from programs that use them (it can save programs without header, too,
since the emulator intercepts the call to SA-BYTES). Each new block is added at
the end of the file, but only if the SAVE operation is enabled for this file.
HOW WORKS THE FAST SPEED LOAD AND SAVE FOR TAP FILES?
Just type LOAD "" in the emulator (or choose the TAPE LOADER option in the 128K
menu) and the tape will automagically load. This only works with programs that
uses the ROM to load all the blocks. If you have a TAP file with a program that
uses a custom routine to load the blocks, then you must use the NORMAL SPEED.
To do this, press F3 to go to the TAP menu and choose NORMAL SPEED. Then return
to the emulation (with ESC) and use LOAD "" (or the TAPE LOADER option).
Finally, put the tape in Play with F6. You can stop the tape with F5 and start
it again with F6 as many times you want.
When the tape ends, is automatically stoped and rewinded. You can rewind the
tape when you want with the right option in the TAP menu (F3 key).
In a near future a block manager will be added, in order to allow the user to
choose a block into the TAP file (thinking in multistage games).
Remember that the Fast Speed is available only for TAP files, not in TZX.
The FAST SPEED applies when saving too. The SAVE operation is done ALWAYS
when SA-BYTES (in the Spectrum ROM) is called. The difference between FAST and
normal SAVE is that FAST returns inmediately, and NORMAL calls the original
routine. This means that, if you abort the save command, the block will be saved
in the TAP file anyway.
HOW WORKS THE INTERFACE I AND MICRODRIVE EMULATION?
FBZX can emulate an Interface I with one microdrive attached, but only when
working as Spectrum 48K, 128K or +2, never as +2A/+3 since it's incompatible.
You just have to choose an MDR file (or create a new MDR file) using the F7
key, and you will be able to use all the Interface I commands and programs.
Remember to format your cartridge (MDR file) after creating one.
When you save something to the cartridge, the MDR file is updated as soon as
the Spectrum stops the "motor" of the drive.